package cn.tedu.hospitalgroupproject.server.content.service;


import cn.tedu.hospitalgroupproject.server.common.pojo.vo.PageData;
import cn.tedu.hospitalgroupproject.server.content.pojo.param.ClinicAddNewParam;
import cn.tedu.hospitalgroupproject.server.content.pojo.param.DepartmentAddNewParam;
import cn.tedu.hospitalgroupproject.server.content.pojo.param.DepartmentUpdateInfoParam;
import cn.tedu.hospitalgroupproject.server.content.pojo.param.DoctorUpdateInfoParam;
import cn.tedu.hospitalgroupproject.server.content.pojo.vo.DepartmentListVO;
import cn.tedu.hospitalgroupproject.server.content.pojo.vo.DepartmentStandardVO;
import cn.tedu.hospitalgroupproject.server.content.pojo.vo.DoctorTitleAppLimitListVO;

/**
 * 处理科室数据的业务接口
 *
 * @author java@tedu.cn
 * @version 1.0
 */
public interface IDepartmentService {
    /**
     * 新增科室
     *
     * @param departmentAddNewParam 新增的科室数据
     */
    void addNew(DepartmentAddNewParam departmentAddNewParam);

    /**
     * 删除科室
     *
     * @param id 尝试删除的科室的ID
     */
    void delete(Long id);



    /**
     * 修改科室信息
     *
     */
    void updateInfoById(DepartmentUpdateInfoParam departmentUpdateInfoParam);

    /**
     * 查询科室列表，将使用默认的“每页记录数”
     *
     * @param pageNum  页码
     * @return 科室列表的分页数据
     */
    PageData<DepartmentListVO> list(Integer pageNum);

    /**
     * 查询科室列表
     *
     * @param pageNum  页码
     * @param pageSize 每条记录数
     * @return 科室列表的分页数据
     */
    PageData<DepartmentListVO> list(Integer pageNum, Integer pageSize);

    DepartmentStandardVO getStandardById(Long id);
}
